Skip to content

feat(linux): implement diagnostic report#15576

Draft
ermshiperete wants to merge 2 commits intomasterfrom
feat/linux/7784_diagreport
Draft

feat(linux): implement diagnostic report#15576
ermshiperete wants to merge 2 commits intomasterfrom
feat/linux/7784_diagreport

Conversation

@ermshiperete
Copy link
Contributor

@ermshiperete ermshiperete commented Feb 11, 2026

This change allows to collect data for a diagnostic report. This can be done either from the command line through the new km-diag-report tool, or in km-config from the new Support tab that allows to generate the report and then copy it to the clipboard or save as a file.

The diagnostic report contains installed browsers and their versions and installation methods as well as the default browser. It checks for browsers installed through apt (Ubuntu/Debian), snap, and flatpak.

The change also has an implementation for pacman (Arch Linux) and dnf/yum (Fedora), although these have not been tested.

Sample report

============================================================
Keyman Diagnostic Report
============================================================

--- Keyman Version ---
  Version: 19.0.202-alpha-local
  Tier: alpha
  Package version: (local)
  Installed package (dpkg): 19.0.201-1+noble1

--- IBus ---
  IBus version: 1.5.29-rc2
  Preload engines: xkb:us::eng, xkb:de::deu, xkb:us::eng

--- Operating System ---
  OS: Ubuntu 24.04.4 LTS
  Codename: noble
  Kernel: 6.17.0-14-generic
  Architecture: x86_64

--- Display Server ---
  Session type: x11
  X11 display: :0

--- Desktop Environment ---
  Current desktop: ubuntu:GNOME
  Session desktop: ubuntu-xorg
  Desktop session: ubuntu-xorg

--- Input Method Configuration ---
  GTK_IM_MODULE: Not set
  QT_IM_MODULE: ibus
  XMODIFIERS: @im=ibus

--- Gnome Input Sources ---
  xkb: us
  xkb: de
  ibus: km:/home/user/.local/share/keyman/khmer_angkor/khmer_angkor.kmx
  ibus: bbc-Batk:/home/user/.local/share/keyman/batak/batak.kmx
  ibus: am:/home/user/.local/share/keyman/gff_amharic/gff_amharic.kmx
  ibus: dyo:/home/user/.local/share/keyman/kreative_superlatin/kreative_superlatin.kmx
  ibus: en:/home/user/.local/share/keyman/baseline/k_0108___rtl.kmx

--- Installed Keyman Keyboards ---
  User keyboards:
    - SIL Ethiopic Power-G (id: sil_ethiopic_power_g, version: 1.2.2)
    - EuroLatin (SIL) (id: sil_euro_latin, version: 2.0.1)
    - Korean KORDA Jamo (SIL) (id: sil_korda_jamo, version: 3.0.1)
    - Text Selection Tests Keyboard (id: text_selection_tests_keyboard, version: 1.0)
    - Lao Basic (id: basic_kbdlao, version: 1.1)
    - IPA (SIL) (id: sil_ipa, version: 1.8.6)
    - GFF Amharic (id: gff_amharic, version: 3.3)
    - Extra_English (id: extra_english, version: 1.0)
    - 0108 - rtl (id: baseline, version: 1.0)
    - German Basic (id: basic_kbdgr, version: 1.1)
    - None (id: test_kmx, version: None)
    - Vedic Sanskrit Devanagari Phonetic (ITRANS) (id: itrans_devanagari_sanskrit_vedic, version: 1.2.1)
    - Khmer Angkor (id: khmer_angkor, version: 2.2)
    - GFF Geʾez Manuscript Keyboard (id: gff_geez_emufi, version: 1.0.1)
    - US Basic (id: basic_kbdus, version: 1.2)
    - Myanmar3 (SIL) (id: sil_myanmar_my3, version: 1.7.3)
    - SENĆOŦEN (id: fv_sencoten, version: 9.2.3)
    - Kreative SuperLatin (id: kreative_superlatin, version: 1.1.1)
    - Batak (id: batak, version: 1.0.1)

--- Web Browsers ---
  APT packages:
    - firefox: 147.0.3~build1
    - chromium-browser: 1:85.0.4183.83-0ubuntu2.22.04.1
    - google-chrome-stable: 145.0.7632.45-1
  Snap packages:
    - chromium: 144.0.7559.132            (3358) 186MB -
  Flatpak packages:
    - firefox: 147.0.3
  Default browser:
    /home/user/.local/share/applications/userapp-Firefox-3EVMT2.desktop (/usr/lib/firefox/firefox-bin)

============================================================
End of Diagnostic Report
============================================================

Fixes: #7784

@github-project-automation github-project-automation bot moved this to Todo in Keyman Feb 11, 2026
@keymanapp-test-bot keymanapp-test-bot bot added the user-test-missing User tests have not yet been defined for the PR label Feb 11, 2026
@keymanapp-test-bot
Copy link

User Test Results

Test specification and instructions

ERROR: user tests have not yet been defined

@ermshiperete ermshiperete force-pushed the feat/linux/7784_diagreport branch 3 times, most recently from 88beaac to 50961e4 Compare February 13, 2026 15:30
This change allows to collect data for a diagnostic report. This can be
done either from the command line through the new `km-diag-report` tool,
or in `km-config` from the new `Support` tab that allows to generate the
report and then copy it to the clipboard or save as a file.

The diagnostic report contains installed browsers and their versions and
installation methods as well as the default browser. It checks for
browsers installed through apt (Ubuntu/Debian), snap, and flatpak.

The change also has an implementation for pacman (Arch Linux) and
dnf/yum (Fedora), although these have not been tested.

Fixes: #7784
@ermshiperete ermshiperete force-pushed the feat/linux/7784_diagreport branch from 50961e4 to cb1de97 Compare February 13, 2026 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat linux/config/ linux/ user-test-missing User tests have not yet been defined for the PR

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

feat(linux): Add option to collect diagnostic information

1 participant